/**
 * output package name
 */
package com.kingdee.eas.custom.jiu.statement;



import java.awt.Component;
import java.awt.event.ActionEvent;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

import org.apache.log4j.Logger;

import com.kingdee.bos.ctrl.kdf.table.IRow;
import com.kingdee.bos.ctrl.kdf.table.KDTable;
import com.kingdee.bos.dao.query.SQLExecutorFactory;
import com.kingdee.bos.ui.face.CoreUIObject;
import com.kingdee.eas.base.commonquery.client.CommonQueryDialog;
import com.kingdee.eas.base.commonquery.client.CustomerQueryPanel;
import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
import com.kingdee.eas.basedata.org.CostCenterOrgUnitInfo;
import com.kingdee.eas.basedata.org.CtrlUnitInfo;
import com.kingdee.eas.common.client.SysContext;
import com.kingdee.eas.fi.gl.client.ReportJournalConditionUI;
import com.kingdee.eas.framework.ICoreBase;
import com.kingdee.jdbc.rowset.IRowSet;


/**
 * output class name
 */
public class BudgetExecuteRptUI extends AbstractBudgetExecuteRptUI
{
    private static final Logger logger = CoreUIObject.getLogger(BudgetExecuteRptUI.class);
    

  
    public CommonQueryDialog dialog = null;	
    public BudgetExecuFilterUI userPanel = null;


    // 在生成的dialog类中继承方法 getFilterInfo()，并实现用户想要的过滤条件，应用框架会在取数时调用dialog类自动获取过滤条件  	
    protected CommonQueryDialog initCommonQueryDialog() {
    	
	    dialog = super.initCommonQueryDialog();	    		
	    try {   			
		    dialog.addUserPanel(getUserPanel());    			
		    dialog.setShowFilter(false);   			
		    dialog.setShowSorter(false); 
		    dialog.setMaxReturnCountVisible(false);		   
		    dialog.setHeight(380);   			
		    dialog.setWidth(500);   			
		    dialog.setTitle("客户自定义过滤框");
		    	    		    

	    } catch (Exception e) {  			
	    	handUIException(e);    		
	    }    		
	    return dialog;  	
   }
   
    
    
    
 
    protected BudgetExecuFilterUI getUserPanel() throws Exception {
    		
	    if (this.userPanel == null)	                                       
	     // 绑定新建的自定义查询UI	    			
	    this.userPanel = new BudgetExecuFilterUI();	    		
	    userPanel.onLoad();	    		
	    return this.userPanel;
    	
    }
    
    //首先调出过滤框
    protected boolean initDefaultFilter() {
		return true ;
	}
    
    

    
    String fff ="";
    String ffff ="";
    String q1="0";
    String q2="0";
    String q3="0";
    @SuppressWarnings("null")
	private void selectquery() {
    	 q1 = userPanel.kDSpinner1.getValue().toString();
    	 q2 = userPanel.kDComboBox1.getSelectedItem().toString();
        	 
    	 q3 = userPanel.kDComboBox4.getSelectedItem().toString();
  

    	 Object[] s=(Object[])userPanel.admin.getData();
    	 
    	 
    	 if (s==null || s[0]==null ) {
    		 fff ="";
    		 ffff="";
		}else {
			fff = " and baseUnit.fid in (";
			ffff = " and c.fid in (";
			for(Object s1:s){
				CostCenterOrgUnitInfo f = (CostCenterOrgUnitInfo)s1;  
				String ff = f.getId().toString(); 	
				
	    			 
	    		 fff = fff +"'"+ ff+"',"; 
	    		 ffff = ffff +"'"+ ff+"',"; 
	    	 }
	    	 fff = fff.substring(0, fff.length()-1)+")";
	    	 ffff = ffff.substring(0, ffff.length()-1)+")";
		}
	}
    
    @Override
    public void onLoad() throws Exception {
    	super.onLoad();
    	selectquery();
    	 
    	setValueToTable();
    }
   
	private void setValueToTable() throws Exception {
		CtrlUnitInfo  company= SysContext.getSysContext().getCurrentCtrlUnit();//获取当前管理单元CU ,比财务组织'成本中心更上一级  	
		String companyId = company.getId().toString();		
//		String x = "4/wAAAABeU3M567U";
		
    	//表名
    	String sql1="/*dialect*/ select bgScheme.FRefCube a from  T_MBG_BgScheme bgScheme  where bgScheme.FOrgUnitID='"+companyId+"' and FIsFormal = '1'"; 	
    	IRowSet ra = SQLExecutorFactory.getRemoteInstance(sql1).executeSQL();
        ra.next();
        String a = ra.getString("a");
        String act = "T_MBG_BGDAILYACTUAL"+a.substring(12);  
 //   	String da = ("" +new Date()).substring(("" +new Date()).length()-4);
    	
        //SQL Server
    	String sql_sqlServer="/*dialect*/  select act.FValue as Actual,p.FNumber as ItemNumber,da.FValue as FValue,baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem,d.FValue as thisBudget " +
" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
" join T_MBG_BgItem I on I.FNumber=SUBSTRING(d.FFormula,CHARINDEX(':',d.FFormula)+1,(CHARINDEX(',',d.FFormula))-CHARINDEX(':',d.FFormula)-1) "+ 
" join T_BD_Project p on p.FNumber=SUBSTRING(SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))), "+
" CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))+1 , "+
" CHARINDEX(',',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-2) "+
" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+ 
" left join (select da.FMemberNumber as FMemberNumber,da.FValue as FValue from T_MBG_BgDataAssist da where da.FColumnName='编制说明') da on I.FNumber+p.FNumber =SUBSTRING(da.FMemberNumber,CHARINDEX(':',da.FMemberNumber)+1,(CHARINDEX(',',da.FMemberNumber))-CHARINDEX(':',da.FMemberNumber)-1)+ "+
" SUBSTRING(da.FMemberNumber,CHARINDEX(',',SUBSTRING(da.FMemberNumber,CHARINDEX(',',da.FMemberNumber)+1,LEN(da.FMemberNumber)-LEN(substring(da.FMemberNumber,0,charindex(',',da.FMemberNumber)))))+LEN(SUBSTRING(da.FMemberNumber,0,CHARINDEX(',',da.FMemberNumber)))+6, "+
" LEN(da.FMemberNumber)-(CHARINDEX(',',SUBSTRING(da.FMemberNumber,CHARINDEX(',',da.FMemberNumber)+1,LEN(da.FMemberNumber)-LEN(substring(da.FMemberNumber,0,charindex(',',da.FMemberNumber)))))+LEN(SUBSTRING(da.FMemberNumber,0,CHARINDEX(',',da.FMemberNumber)))+6)-6) "+
" left join(select ac.F12 as F12,ac.FValue as FValue from "+act+" ac inner join T_MBG_BgPeriod period on period.fid= ac.FBgPeriodID where  period.fname_l2 ='"+q1+"年') act on SUBSTRING(act.F12,CHARINDEX(':',act.F12)+1,LEN(act.F12)-CHARINDEX(':',act.F12)) = p.FNumber"+
" where  bgPeriod.fname_l2 ='"+q1+"年' "+fff+
" order by baseUnit.FName_L2 ";
		
        //Oracle   	
    	String sql="/*dialect*/ select act.FValue as Actual,p.FNumber as ItemNumber,da.FValue as FValue,baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem,d.FValue as thisBudget "+ 
   	    " from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+
     	" join T_MBG_BgItem I on I.FNumber=SUBSTR(d.FFormula,INSTR(d.FFormula,':')+1,(INSTR(d.FFormula,','))-INSTR(d.FFormula,':')-1) "+
   	    " join T_BD_Project p on p.FNumber=SUBSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))), "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')+1 , "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),',')-INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')-2) "+ 
   	    " inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+
   	    " left join (select da.FMemberNumber as FMemberNumber,da.FValue as FValue from T_MBG_BgDataAssist da where da.FColumnName='编制说明') da on I.FNumber || p.FNumber =SUBSTR(da.FMemberNumber,INSTR(da.FMemberNumber,':')+1,(INSTR(da.FMemberNumber,','))-INSTR(da.FMemberNumber,':')-1) || "+
   	    " SUBSTR(da.FMemberNumber,INSTR(SUBSTR(da.FMemberNumber,INSTR(da.FMemberNumber,',')+1,LENGTH(da.FMemberNumber)-LENGTH(SUBSTR(da.FMemberNumber,0,INSTR(da.FMemberNumber,',')))),',')+LENGTH(SUBSTR(da.FMemberNumber,0,INSTR(da.FMemberNumber,',')))+5, "+
   	    " LENGTH(da.FMemberNumber)-(INSTR(SUBSTR(da.FMemberNumber,INSTR(da.FMemberNumber,',')+1,LENGTH(da.FMemberNumber)-LENGTH(SUBSTR(da.FMemberNumber,0,INSTR(da.FMemberNumber,',')))),',')+LENGTH(SUBSTR(da.FMemberNumber,0,INSTR(da.FMemberNumber,',')))+6)-5) "+ 
   	    " left join(select ac.F12 as F12,ac.FValue as FValue from "+act+" ac inner join T_MBG_BgPeriod period on period.fid= ac.FBgPeriodID where  period.fname_l2 ='"+q1+"年') act on SUBSTR(act.F12,INSTR(act.F12,':')+1,LENGTH(act.F12)-INSTR(act.F12,':')) = p.FNumber"+
   	    " where bgPeriod.fname_l2 ='"+q1+"年' "+fff+
 	    " order by baseUnit.FName_L2 ";
		setTableValue(this.tblMain,sql,sql_sqlServer); 	
	}
	
	
//String key111[] = {"budgetTissue","budgetCourse","budgetItem","firstBudget",  "firstPerform","firstEfficiency","thisBudget","thisPerform","thisEfficiency","budgetRegulation","column11","performRegulation","column13","compile"};

    
    private void setTableValue(KDTable table,String sql,String sql_sqlServer) throws Exception {
//    	String x = "4/wAAAABeU3M567U";
    	CtrlUnitInfo  company= SysContext.getSysContext().getCurrentCtrlUnit();//获取当前管理单元CU ,比财务组织'成本中心更上一级  	
		String companyId = company.getId().toString();
		
        IRowSet rs = null;
        Boolean isOracle = true;  //是否Oracle
        try {
        	rs = SQLExecutorFactory.getRemoteInstance(sql).executeSQL();
		} catch (Exception e) {
			rs = SQLExecutorFactory.getRemoteInstance(sql_sqlServer).executeSQL();
			isOracle = false;
		}
       
		Map<String,Map<String, String>> map = new LinkedHashMap<String, Map<String,String>>();
    	//組織,科目,項目
		while (rs.next()) {
    		Map<String, String> map1=new LinkedHashMap<String, String>();
    		String key = rs.getString("budgetTissue")+rs.getString("budgetItem");			
    		map1.put("budgetTissue", rs.getString("budgetTissue"));
    		map1.put("budgetCourse", rs.getString("budgetCourse"));
    		map1.put("budgetItem", rs.getString("budgetItem"));
    		map1.put("thisBudget","0");
    		map1.put("thisBudget", rs.getString("thisBudget"));
    		map1.put("thisPerform","0");
    		map1.put("firstBudget","0");
    		map1.put("firstPerform","0");
    		
    		map1.put("actual","0");
    		map1.put("actual",rs.getString("Actual"));
    		map1.put("ItemNumber", rs.getString("ItemNumber"));
    		map1.put("FValue",rs.getString("FValue"));
    		
   		
    		map.put(key, map1);
		}
		 
		 
    	//上年預算書
    	String sql1="/*dialect*/  select bgScheme.FRefCube a from  T_MBG_BgScheme bgScheme  where bgScheme.FOrgUnitID='"+companyId+"' and FIsFormal = '1'"; 		
    	IRowSet ra = SQLExecutorFactory.getRemoteInstance(sql1).executeSQL();
        ra.next();       
        String a = ra.getString("a");       

        //上年
        String q11=String.valueOf(Integer.parseInt(q1)-1);
        
        //SQL Server      
		String sql2_sqlServer = "/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem, d.FValue as firstBudget " +
		" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+ 
		" join T_MBG_BgItem I on I.FNumber=SUBSTRING(d.FFormula,CHARINDEX(':',d.FFormula)+1,(CHARINDEX(',',d.FFormula))-CHARINDEX(':',d.FFormula)-1) "+ 
		" join T_BD_Project p on p.FNumber=SUBSTRING(SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))), "+
		" CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))+1 , "+
		" CHARINDEX(',',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-CHARINDEX(':',SUBSTRING(FFormula,CHARINDEX(',',FFormula)+1,LEN(FFormula)-LEN(substring(FFormula,0,charindex(',',FFormula)))))-2) "+
		" inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+ 
		" where bgPeriod.fname_l2 ='"+q11+"年' "+fff;
		
        //Oracle
		String sql2 = "/*dialect*/  select baseUnit.FName_L2 as budgetTissue, I.FName_l2 as budgetCourse, p.FName_L2 as budgetItem, d.FValue as firstBudget "+
		" from "+a+" d inner join T_ORG_BaseUnit baseUnit on baseUnit.fid=d.FOrgUnitID "+
   	    " join T_MBG_BgItem I on I.FNumber=SUBSTR(d.FFormula,INSTR(d.FFormula,':')+1,(INSTR(d.FFormula,','))-INSTR(d.FFormula,':')-1) "+
   	    " join T_BD_Project p on p.FNumber=SUBSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))), "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')+1 , "+
        " INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),',')-INSTR(SUBSTR(FFormula,INSTR(FFormula,',')+1,LENGTH(FFormula)-LENGTH(SUBSTR(FFormula,0,INSTR(FFormula,',')))),':')-2) "+ 
   	    " inner join T_MBG_BgPeriod bgPeriod on bgPeriod.fid= d.FBgPeriodID "+
   	    " where bgPeriod.fname_l2 ='"+q11+"年' "+fff;
		
		 IRowSet rs1=null;
		if (isOracle) {
			rs1 = SQLExecutorFactory.getRemoteInstance(sql2).executeSQL();		
		} else {
			rs1 = SQLExecutorFactory.getRemoteInstance(sql2_sqlServer).executeSQL();		
		}
		 while (rs1.next()) {
			 
			 String key = rs1.getString("budgetTissue")+rs1.getString("budgetItem");	
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		map1.put("firstBudget",  rs1.getString("firstBudget"));
		    		map.put(key, map1);
		    }	 
		 }
		 
				 
	 
		 //本年執行數
		 //SQL Server
		 String b_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as thisPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String c_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String d_sqlServer="select e.FAmountBalance as FAmountBalance,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String e_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q1+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 //Oracle
		 String b="/*dialect*/ select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as thisPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		 " and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String c="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String d="/*dialect*/  select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String e="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as thisPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+ 
	    " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q1+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		
		 IRowSet rd1=null;
		if (isOracle) {
			 rd1 = SQLExecutorFactory.getRemoteInstance(b).executeSQL();	
		} else {
			rd1 = SQLExecutorFactory.getRemoteInstance(b_sqlServer).executeSQL();	
		}
		 while (rd1.next()) {
			 String key=rd1.getString("budgetTissue")+rd1.getString("budgetItem");			
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		
		    		BigDecimal thisBudget=rd1.getBigDecimal("thisPerform");	
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd2=null;
		if (isOracle) {
			 rd2 = SQLExecutorFactory.getRemoteInstance(c).executeSQL();		
		} else {
			rd2 = SQLExecutorFactory.getRemoteInstance(c_sqlServer).executeSQL();	
		}
		 while (rd2.next()) {
			 String key=rd2.getString("budgetTissue")+rd2.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd2.getBigDecimal("thisPerform");
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd3=null;
		if (isOracle) {
			 rd3 = SQLExecutorFactory.getRemoteInstance(d).executeSQL();
		} else {
			rd3 = SQLExecutorFactory.getRemoteInstance(d_sqlServer).executeSQL();
		}
		 while (rd3.next()) {
			 String key=rd3.getString("budgetTissue")+rd3.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd3.getBigDecimal("FAmountBalance");			    		
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet rd4=null;
		if (isOracle) {
			 rd4 = SQLExecutorFactory.getRemoteInstance(e).executeSQL();
		} else {
			rd4 = SQLExecutorFactory.getRemoteInstance(e_sqlServer).executeSQL();
		}
		 while (rd4.next()) {
			 String key=rd4.getString("budgetTissue")+rd4.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=rd4.getBigDecimal("thisPerform");		    		
		    		BigDecimal bd = new BigDecimal(map1.get("thisPerform"));
		    		map1.put("thisPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 
		 
		 
		 
	 
		//上年執行數
		 //SQL Server
		 String b1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String c1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String d1_sqlServer="select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		 String e1_sqlServer="select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved  as firstPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and SUBSTRING(convert(varchar(20),b.FBizDate),6,5)="+q11+" "+ffff+
		 " and MONTH(FAuditDate)>="+q2+" and MONTH(FAuditDate)<="+q3;
		 
		//Oracle
		 String b1="/*dialect*/ select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem, e.FAmountApproved as firstPerform from T_BC_TravelAccountBill b join T_BC_TravelAccountBillEntry e on e.FBillID=b.fid "+
		 " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		 " and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String c1="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountBill b join T_BC_BizAccountBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String d1="/*dialect*/  select e.FAmountBalance as FAmountBalance,b.FAmountUsed as amountUsed,b.FReturnAmount as returnAmount,c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_DailyLoanBill b join T_BC_DailyLoanBillEntry e on e.FBillID=b.fid "+
		" join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=b.FCostedDeptId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;
		 
		String e1="/*dialect*/  select c.FName_L2 as budgetTissue,p.FName_L2 as budgetItem,e.FAmountApproved as firstPerform from T_BC_BizAccountOutBill b join T_BC_BizAccountOutBillEntry e on e.FBillID=b.fid "+ 
	    " join T_BD_Project p on p.FID=e.FProjectId  join T_ORG_CostCenter c on c.fid=e.FCostCenterId where FState not in('20','25','27','30','40') and b.FControlUnitID = '"+companyId+"' and to_char(b.FBizDate,'yyyy')="+q11+" "+ffff+
		" and to_char(FAuditDate,'MM')>="+q2+" and to_char(FAuditDate,'MM')<="+q3;		 
		
		 IRowSet re1=null;
		if (isOracle) {
			re1 = SQLExecutorFactory.getRemoteInstance(b1).executeSQL();
		} else {
			re1 = SQLExecutorFactory.getRemoteInstance(b1_sqlServer).executeSQL();
		}
		 while (re1.next()) {
			 String key=re1.getString("budgetTissue")+re1.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re1.getBigDecimal("firstPerform");	
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re2=null;
		if (isOracle) {
			 re2 = SQLExecutorFactory.getRemoteInstance(c1).executeSQL();
		} else {
			re2 = SQLExecutorFactory.getRemoteInstance(c1_sqlServer).executeSQL();	
		}
		 while (re2.next()) {
			 String key=re2.getString("budgetTissue")+re2.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re2.getBigDecimal("firstPerform");	
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re3=null;
		if (isOracle) {
			 re3 = SQLExecutorFactory.getRemoteInstance(d1).executeSQL();	
		} else {
			re3 = SQLExecutorFactory.getRemoteInstance(d1_sqlServer).executeSQL();	

		}
		 while (re3.next()) {
			 String key=re3.getString("budgetTissue")+re3.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re3.getBigDecimal("FAmountBalance");	  		
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 IRowSet re4=null;
		if (isOracle) {
			 re4 = SQLExecutorFactory.getRemoteInstance(e1).executeSQL();
		} else {
			re4 = SQLExecutorFactory.getRemoteInstance(e1_sqlServer).executeSQL();
		}
		 while (re4.next()) {
			 String key=re4.getString("budgetTissue")+re4.getString("budgetItem");
			 if(map.containsKey(key)){
		    		Map<String, String> map1=map.get(key);
		    		BigDecimal thisBudget=re4.getBigDecimal("firstPerform");		    		
		    		BigDecimal bd = new BigDecimal(map1.get("firstPerform"));
		    		map1.put("firstPerform",bd.add(thisBudget).toString());
		    		map.put(key, map1);
		    } 
		 }
		 
		 
		 tblMain.removeRows();
		 //填數
		 IRow row = null;
		 for(String key:map.keySet()){
			 Map<String, String> map1=map.get(key);
			 row = table.addRow();
			 tblMain.setRowCount(map.size());
			 row.getCell("budgetTissue").setValue(map1.get("budgetTissue"));
			 row.getCell("budgetCourse").setValue(map1.get("budgetCourse"));
			 row.getCell("budgetItem").setValue(map1.get("budgetItem"));
			 row.getCell("compile").setValue(map1.get("FValue"));
			 
			 DecimalFormat df4 = new DecimalFormat("#,##0.00");
			 if(map1.get("actual")!=null){ 
				 if( map1.get("actual").equals("0E-8")){
					 row.getCell("actual").setValue("0.00");
				 }else {
					 BigDecimal bdact = new BigDecimal(map1.get("actual"));			 
//					 row.getCell("actual").setValue(bdact.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
					 row.getCell("actual").setValue(df4.format(bdact));
				 }
			 }
			 row.getCell("ItemNumber").setValue(map1.get("ItemNumber"));
			 //本年预算数
			 BigDecimal bd3 = new BigDecimal(map1.get("thisBudget"));			 
//			 row.getCell("thisBudget").setValue(bd3.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
			 row.getCell("thisBudget").setValue(df4.format(bd3));
			 
			
			 
			 //上年预算数			
			 if (map1.get("firstBudget")!= null) {
				     BigDecimal fp1 = new BigDecimal(map1.get("firstBudget"));
					 BigDecimal fp2 = new BigDecimal(0);
				  if( fp1.compareTo(fp2) != 0){
					  BigDecimal fb = new BigDecimal(map1.get("firstBudget"));
//						row.getCell("firstBudget").setValue(fb.setScale(2,BigDecimal.ROUND_HALF_UP));
					  row.getCell("firstBudget").setValue(df4.format(fb));
						BigDecimal bd1 = new BigDecimal(map1.get("thisBudget"));
						BigDecimal bd2 = new BigDecimal(map1.get("firstBudget"));
	//					row.getCell("budgetRegulation").setValue(bd1.subtract(bd2));
						 row.getCell("budgetRegulation").setValue(df4.format(bd1.subtract(bd2)));
						// %
						 BigDecimal ba = new BigDecimal(100);
						 BigDecimal ba1 =((bd1.subtract(bd2)).divide(bd2, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
						row.getCell("column11").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));	
				  }else{
					  row.getCell("firstBudget").setValue("");
						 //比上年预算增减
						 BigDecimal bd4 = new BigDecimal(map1.get("thisBudget"));
	//					 row.getCell("budgetRegulation").setValue(bd4.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
						 row.getCell("budgetRegulation").setValue(df4.format(bd4));
						 row.getCell("column11").setValue(null);
				      }		  
		     }
				   
		
			 
			 
			//本年执行数
			 if(map1.get("thisPerform")== "0"){
				 row.getCell("thisPerform").setValue("");
			 }else {
				 BigDecimal bd4 = new BigDecimal(map1.get("thisPerform"));
//				 row.getCell("thisPerform").setValue(bd4.setScale(2,BigDecimal.ROUND_HALF_UP));
				 row.getCell("thisPerform").setValue(df4.format(bd4));
			}
						 
			 //上年执行数
			 if(map1.get("firstPerform") != null){
				 BigDecimal fp1 = new BigDecimal(map1.get("firstPerform"));
				 BigDecimal fp2 = new BigDecimal(0);
			if( fp1.compareTo(fp2) == 0){

				 row.getCell("firstPerform").setValue("");
				 //比上年执行数增减
				 BigDecimal bd5 = new BigDecimal(map1.get("thisPerform"));
//				 row.getCell("performRegulation").setValue(bd5.setScale(2,BigDecimal.ROUND_HALF_UP));//2位小数
				 row.getCell("performRegulation").setValue(df4.format(bd5));
			}else {
				BigDecimal fp = new BigDecimal(map1.get("firstPerform"));
//				row.getCell("firstPerform").setValue(fp.setScale(2,BigDecimal.ROUND_HALF_UP));	
				row.getCell("firstPerform").setValue(df4.format(fp));
				BigDecimal bd1 = new BigDecimal(map1.get("thisPerform"));
				BigDecimal bd2 = new BigDecimal(map1.get("firstPerform"));
//				row.getCell("performRegulation").setValue(bd1.subtract(bd2));
				 row.getCell("performRegulation").setValue(df4.format(bd1.subtract(bd2)));
				// %
				 BigDecimal ba = new BigDecimal(100);
				 BigDecimal ba1 =((bd1.subtract(bd2)).divide(bd2, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
				row.getCell("column13").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));		
			}
			
	    }
			 		 
			 
			 //上年执行率
			 if(map1.get("firstBudget") != null){
				 BigDecimal fp1 = new BigDecimal(map1.get("firstBudget"));
				 BigDecimal fp2 = new BigDecimal(0);
				if( fp1.compareTo(fp2) == 0){
					 row.getCell("firstEfficiency").setValue("");
				}else{
					BigDecimal bd1 = new BigDecimal(map1.get("firstBudget"));
					 BigDecimal bd2 = new BigDecimal(map1.get("firstPerform"));
					 BigDecimal ba = new BigDecimal(100);
					 BigDecimal ba1 =(bd2.divide(bd1, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
					 row.getCell("firstEfficiency").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));
				}
			 }
						
			 
			 
	        //本年执行率
			 if(map1.get("thisBudget") != null){
				 BigDecimal fp1 = new BigDecimal(map1.get("thisBudget"));
				 BigDecimal fp2 = new BigDecimal(0);
				if( fp1.compareTo(fp2) == 0){
					row.getCell("thisEfficiency").setValue("");
				}else{
					BigDecimal bd1 = new BigDecimal(map1.get("thisBudget"));
					 BigDecimal bd2 = new BigDecimal(map1.get("thisPerform"));
					 BigDecimal ba = new BigDecimal(100);
					 BigDecimal ba1 =(bd2.divide(bd1, 4, BigDecimal.ROUND_HALF_UP)).multiply(ba);
					row.getCell("thisEfficiency").setValue(ba1.setScale(2,BigDecimal.ROUND_HALF_UP));
				}
			 }
		 }
		
		 tblMain.setRowCount(map.size());
    }
   
  
   
    	
    	
  //刷新
    public void actionRefresh_actionPerformed(ActionEvent e) throws Exception
    {
    	super.actionRefresh_actionPerformed(e);
    	selectquery();
    	setValueToTable();
   	
    }

  //查询
    public void actionQuery_actionPerformed(ActionEvent e) throws Exception
    {
    	super.actionQuery_actionPerformed(e);
    	selectquery();
    	setValueToTable();
    	
    }
    
    	
  	
	
    
    
    /**
     * output class constructor
     */
    public BudgetExecuteRptUI() throws Exception
    {
        super();
    }

    /**
     * output storeFields method
     */
    public void storeFields()
    {
        super.storeFields();
    }

    /**
     * output tblMain_tableClicked method
     */
    protected void tblMain_tableClicked(com.kingdee.bos.ctrl.kdf.table.event.KDTMouseEvent e) throws Exception
    {
     //   super.tblMain_tableClicked(e);
    }

    /**
     * output menuItemImportData_actionPerformed method
     */
    protected void menuItemImportData_actionPerformed(java.awt.event.ActionEvent e) throws Exception
    {
        super.menuItemImportData_actionPerformed(e);
    }

    /**
     * output actionPageSetup_actionPerformed
     */
    public void actionPageSetup_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPageSetup_actionPerformed(e);
    }

    /**
     * output actionExitCurrent_actionPerformed
     */
    public void actionExitCurrent_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExitCurrent_actionPerformed(e);
    }

    /**
     * output actionHelp_actionPerformed
     */
    public void actionHelp_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHelp_actionPerformed(e);
    }

    /**
     * output actionAbout_actionPerformed
     */
    public void actionAbout_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAbout_actionPerformed(e);
    }

    /**
     * output actionOnLoad_actionPerformed
     */
    public void actionOnLoad_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionOnLoad_actionPerformed(e);
    }

    /**
     * output actionSendMessage_actionPerformed
     */
    public void actionSendMessage_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionSendMessage_actionPerformed(e);
    }

    /**
     * output actionCalculator_actionPerformed
     */
    public void actionCalculator_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCalculator_actionPerformed(e);
    }

    /**
     * output actionExport_actionPerformed
     */
    public void actionExport_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExport_actionPerformed(e);
    }

    /**
     * output actionExportSelected_actionPerformed
     */
    public void actionExportSelected_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSelected_actionPerformed(e);
    }

    /**
     * output actionRegProduct_actionPerformed
     */
    public void actionRegProduct_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRegProduct_actionPerformed(e);
    }

    /**
     * output actionPersonalSite_actionPerformed
     */
    public void actionPersonalSite_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPersonalSite_actionPerformed(e);
    }

    /**
     * output actionProcductVal_actionPerformed
     */
    public void actionProcductVal_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionProcductVal_actionPerformed(e);
    }

    /**
     * output actionExportSave_actionPerformed
     */
    public void actionExportSave_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSave_actionPerformed(e);
    }

    /**
     * output actionExportSelectedSave_actionPerformed
     */
    public void actionExportSelectedSave_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportSelectedSave_actionPerformed(e);
    }

    /**
     * output actionKnowStore_actionPerformed
     */
    public void actionKnowStore_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionKnowStore_actionPerformed(e);
    }

    /**
     * output actionAnswer_actionPerformed
     */
    public void actionAnswer_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAnswer_actionPerformed(e);
    }

    /**
     * output actionRemoteAssist_actionPerformed
     */
    public void actionRemoteAssist_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRemoteAssist_actionPerformed(e);
    }

    /**
     * output actionPopupCopy_actionPerformed
     */
    public void actionPopupCopy_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPopupCopy_actionPerformed(e);
    }

    /**
     * output actionHTMLForMail_actionPerformed
     */
    public void actionHTMLForMail_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHTMLForMail_actionPerformed(e);
    }

    /**
     * output actionExcelForMail_actionPerformed
     */
    public void actionExcelForMail_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExcelForMail_actionPerformed(e);
    }

    /**
     * output actionHTMLForRpt_actionPerformed
     */
    public void actionHTMLForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionHTMLForRpt_actionPerformed(e);
    }

    /**
     * output actionExcelForRpt_actionPerformed
     */
    public void actionExcelForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExcelForRpt_actionPerformed(e);
    }

    /**
     * output actionLinkForRpt_actionPerformed
     */
    public void actionLinkForRpt_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionLinkForRpt_actionPerformed(e);
    }

    /**
     * output actionPopupPaste_actionPerformed
     */
    public void actionPopupPaste_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPopupPaste_actionPerformed(e);
    }

    /**
     * output actionToolBarCustom_actionPerformed
     */
    public void actionToolBarCustom_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionToolBarCustom_actionPerformed(e);
    }

    /**
     * output actionCloudFeed_actionPerformed
     */
    public void actionCloudFeed_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudFeed_actionPerformed(e);
    }

    /**
     * output actionCloudShare_actionPerformed
     */
    public void actionCloudShare_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudShare_actionPerformed(e);
    }

    /**
     * output actionCloudScreen_actionPerformed
     */
    public void actionCloudScreen_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCloudScreen_actionPerformed(e);
    }

    /**
     * output actionXunTongFeed_actionPerformed
     */
    public void actionXunTongFeed_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionXunTongFeed_actionPerformed(e);
    }

    /**
     * output actionAddNew_actionPerformed
     */
    public void actionAddNew_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAddNew_actionPerformed(e);
    }

    /**
     * output actionView_actionPerformed
     */
    public void actionView_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionView_actionPerformed(e);
    }

    /**
     * output actionEdit_actionPerformed
     */
    public void actionEdit_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionEdit_actionPerformed(e);
    }

    /**
     * output actionRemove_actionPerformed
     */
    public void actionRemove_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionRemove_actionPerformed(e);
    }

    
    
    
    /**
     * output actionPrint_actionPerformed
     */
    public void actionPrint_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPrint_actionPerformed(e);
    }

    /**
     * output actionPrintPreview_actionPerformed
     */
    public void actionPrintPreview_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPrintPreview_actionPerformed(e);
    }

    /**
     * output actionLocate_actionPerformed
     */
    public void actionLocate_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionLocate_actionPerformed(e);
    }

   

    /**
     * output actionImportData_actionPerformed
     */
    public void actionImportData_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionImportData_actionPerformed(e);
    }

    /**
     * output actionAttachment_actionPerformed
     */
    public void actionAttachment_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionAttachment_actionPerformed(e);
    }

    /**
     * output actionExportData_actionPerformed
     */
    public void actionExportData_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionExportData_actionPerformed(e);
    }

    /**
     * output actionToExcel_actionPerformed
     */
    public void actionToExcel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionToExcel_actionPerformed(e);
    }

    /**
     * output actionStartWorkFlow_actionPerformed
     */
    public void actionStartWorkFlow_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionStartWorkFlow_actionPerformed(e);
    }

    /**
     * output actionPublishReport_actionPerformed
     */
    public void actionPublishReport_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionPublishReport_actionPerformed(e);
    }

    /**
     * output actionCancel_actionPerformed
     */
    public void actionCancel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCancel_actionPerformed(e);
    }

    /**
     * output actionCancelCancel_actionPerformed
     */
    public void actionCancelCancel_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionCancelCancel_actionPerformed(e);
    }

    /**
     * output actionQueryScheme_actionPerformed
     */
    public void actionQueryScheme_actionPerformed(ActionEvent e) throws Exception
    {
        super.actionQueryScheme_actionPerformed(e);
    }

	@Override
	protected ICoreBase getBizInterface() throws Exception {
		
		return null;
	}

	@Override
	protected String getEditUIName() {
		return null;
	}

}